package cn.scnu.model.query;

import cn.scnu.model.dto.FieldMapOperateDTO;
import cn.scnu.model.enums.TableNameEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * TODO
 *
 * @author hqz
 * @className ProjectResultQueryParam
 * @createTime 2024年11月29日 14:38:00
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(description = "Project Result Query Parameters")
public class ProjectResultQueryParam {
    @ApiModelProperty(value = "Page number", example = "1")
    private Integer pageNo = 1;

    @ApiModelProperty(value = "Page size", example = "10")
    private Integer pageSize = 10;

    @ApiModelProperty(value = "开始完成时间", example = "2024-11-29 00:00:00")
    private LocalDateTime wcsjStartTime;

    @ApiModelProperty(value = "结束完成时间", example = "2024-11-29 23:59:59")
    private LocalDateTime wcsjEndTime;

    @ApiModelProperty(value = "字段与查询操作的映射")
    private List<FieldMapOperateDTO> fieldMapOperates;

    @ApiModelProperty(value = "绘制范围wkt字符串")
    private String wktRange;

    @ApiModelProperty(value = "行政区wkt字符串")
    private String wktDistrict;

    @ApiModelProperty(value = "cad转换之后的wkt字符串")
    private String wktCadRange;

    @ApiModelProperty(value = "shp文件的wkt字符串集合")
    private List<String> wktShpRange;

    @ApiModelProperty(value = "需要查询的表名")
    private TableNameEnum tableName;
}